import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase Bonus para la representación de los diferentes bonus que puede obtener nuestro juagador (Link)
 * @author Programación Orientada a Objetos (Adrian Cerda Cerda , Jorge Armando Tovar Ojeda)
 * @version Maze of Souls (23 de noviembre del 2012)
 */
public class Bonus extends Actor
{
    private int tipo=1;//  para identificar el tipo de bonu
    private GreenfootImage [] corazon= new GreenfootImage [5];//arreglo para las imagenes de los bonus(corazon) 
    private GreenfootImage [] diamante= new GreenfootImage [5];//arreglo para las imagenes de los bonus(diamante) 
    private int I;//para la imagen actual del bonu
    /**
     * forma de actuar cada bonu
     */
    public void act() 
    {
        girar();
        dar();
       
    }  
    /**
     * Giramiento de los Bonus 
     */
    public void girar()
    {
              I=I+1;
           if(I==5)
              I=1;
           setImage(corazon[I]);
    }
    /**
     * Constuctor Bonus crea un tipo de bonu e inicializa su arreglo de imagenes
     */
    public Bonus(int t)
    {
        tipo=t;
        switch(tipo)
        {
            case 1: setImage("corazon1.png");
                   break;
            case 2: setImage("corazon1.png");
                break;

        }
      
        for(int i=0; i< corazon.length; i++)
          {
            if(tipo==1)   
             corazon[i]= new GreenfootImage("corazon"+i+".png");
            if(tipo==2)
              corazon[i]= new GreenfootImage("diamante"+i+".png");
             
          }
        
    }
    /**
     * Metodo para dar al jugador mas vida o más energia
     * dependiendo del tipo de bonu que haya juntado
     */ 
    public void dar()
    {
        
        Actor l;
        l= getOneIntersectingObject(Link.class);
        if(l!=null)
        {
              Fondo f= (Fondo) super.getWorld();
              if(tipo==1)
                f.cambiaVida(1);
              else
                if(tipo==2)
                 f.cambiaEnergia(1);
              f.removeObject(this);
        }
    }
   
}
